home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Programming / amigatalk / general / Array.st < prev    next >
Encoding:
Text File  |  2000-07-22  |  913 b   |  42 lines

  1. Class Array :ArrayedCollection
  2. [
  3.    new
  4.     ^ self error: 'Arrays cannot be created with "new"'
  5. |
  6.    at: aNumber
  7.       ( (aNumber < 1) or: [aNumber > <primitive 4 self> ] )
  8.          ifTrue: [ self error: 'index error'. ^nil ].
  9.  
  10.       ^ <primitive 111 self aNumber >
  11. |
  12.    at: aNumber put: aValue
  13.       ((aNumber < 1) or: [aNumber > <primitive 4 self> ])
  14.          ifTrue: [ self error: 'index error'. ^nil ].
  15.  
  16.       <primitive 112 self aNumber aValue >.
  17.  
  18.       ^ aValue
  19. |
  20.    grow: newObject
  21.       ^ <primitive 113 self newObject>
  22. |
  23.    printString      ! value i !
  24.       value <- ')'.
  25.  
  26.       i <- <primitive 4 self>.
  27.       
  28.       [i > 0] 
  29.          whileTrue: [ value <- <primitive 111 self i>  printString ,
  30.                                ' ', value.
  31.                       i <- i - 1
  32.                     ].
  33.  
  34.       ^ '#(' , value
  35. |
  36.    size
  37.       ^ <primitive 4 self>
  38. |
  39.    new: aValue
  40.       ^ <primitive 114 aValue>
  41. ]
  42.